1. Field of the Invention
The present invention relates to information management and, more particularly, to annotating software objects with supplemental information.
2. Description of the Related Art
Within the context of information technology, annotations generally refer to the attachment or association of supplemental information to a portion of user-supplied data. In illustration, one variety of annotation system pertains to word processing applications. Modern word processing applications typically allow users to select a given portion of text from within a word processing document. The selected text then can be associated with an annotation, usually in the form of a comment. Comments include additional user supplied text which is visually distinguishable from the regular text of the electronic document. For example, comments often are distinctively highlighted and placed in the document margin proximate to the text to which the comment has been associated. Such annotation schemes frequently mimic the manner in which people manually mark-up or edit paper-based documents.
While annotations of this sort can be helpful in terms of providing additional commentary for a portion of text, limitations do exist. One limitation is that conventional annotation frameworks used within word processing applications do not provide a means for regulating which users are provided access to a given comment. Annotations also are limited to a single type, i.e. a comment which serves an explanatory function. Further, annotations used within word processing applications can only be associated with the content of an electronic document. That is, the annotations cannot be associated with other software objects such as elements of the graphical user interface (GUI) of the word processing application.
Another variety of annotation scheme provides supplementary Universal Resource Locators (URLs) for selected Web pages. Such annotation schemes attempt to associate particular URLs, or Web addresses, with one or more other related URLs. When a user accesses or downloads a given Web page, the user can be alerted that one or more other URLs are available which may provide further information in addition to that which is included in the user-requested Web page. The user then can choose whether to access that supplemental content.
Annotation systems of the variety described above typically require the user to download a program, referred to as a plug-in. The plug-in executes in concert with the user's browser and monitors the URLs requested by the user. These URLs are compared with a listing of URLs available from an online service that is accessed by the plug-in. If a user-requested URL is associated with one or more other URLs listed in the online service, the user can be notified.
This sort of Web-based annotation system also has disadvantages. One disadvantage is the need for the user to download and execute a third-party application. Additionally, as was the case with word processing-type annotation systems, conventional annotation systems for Web pages typically perform a single, limited function. In this case, that function is to associate a URL with another URL. Other limitations of Web-based annotation systems include the inability to regulate annotations based upon user identity, enforce security policies, or perform more varied programmatic functions using annotations.
It would be beneficial to provide an annotation service which overcomes the deficiencies described above, thereby providing increased flexibility in terms of the type of annotation that can be created and the type of software object with which an annotation can be associated.